[!!!]asp提交参数过滤方法

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:08:53
我是初学asp的
我的文件注入漏洞很致命,大家看

id1 = Request("id")
if Request("id")="" then
response.Write("请输入要查看的的ID")
Else
sql="select * from xy_news where id = "+id1
rs.Open sql,conn,1,3
if rs.EOF then
response.redirect "/"
else

在id1 = Request("id")中如何定义id1的类型与长度
我是新手,讲的详细些,在一个就是dim这个东西实干什么用的
我发现我不用他也行!!!!!!!!!
不好用!!!

Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: 'Cint'

/xy/read_news.asp,行4

防注入代码:
定义两个函数.把你的id1用它们检查一下就好.

id1 = Request("id")
SafeReplace(id1)
SafeRequest(id1,1)
if Request("id")="" then
response.Write("请输入要查看的的ID")
Else
sql="select * from xy_news where id = "+id2
rs.Open sql,conn,1,3
if rs.EOF then
response.redirect "/"
else
...

<%

Function SafeReplace(ParaName)
'--- 传入参数 ---
'ParaName:参数名称-字符型
Dim Paravalue
Paravalue=LCase(Trim(ParaName))

Paravalue=Replace(Paravalue,"select","")
Paravalue=Replace(Paravalue,"insert","")
Paravalue=Replace(Paravalue,"updata","")
Paravalue=Replace(Paravalue,"addnew","")
Paravalue=Replace(Paravalue,"delete","")
Paravalue=Replace(Paravalue,"order